1. Technical Field
This invention relates generally to aggregating data for transmission, and more particularly to aggregating different categories of data.
2. Description of Related Art
In packet-switched communication network using the Open System Interconnection (OSI) model, data packets are encoded and decoded into bits in the data link layer. The data link layer can be further divided into the medium access control layer (MAC), which essentially emulates a full-duplex logical communication channel, and the logical link controller layer (LLC) that controls frame synchronization, flow control, and error checking. MAC layer data units are delivered to the physical layer (PHY), which prepares the data for physical transmission over various mediums. Data units at both the PHY layer and the MAC layer are sometimes referred to as packets or protocol data units (PDUs). Thus, the terms “packet,” “PDU,” and “data unit” are sometimes used interchangeably.
Prior art FIG. 1 shows MAC layer PDU (MPDU) 140, which includes frame control field 141, sequence number 143, address field 145, MAC layer service data unit (MSDU) 147, and frame correction sequence 149. The MSDU 147 can be considered to be the payload of the MPDU 140. PHY layer PDU (PPDU) 120 includes preamble 121, start of frame (SOF) delimiter 123, header 125 and PHY layer SDU (PSDU) 122. PSDU 122 can be considered to be the payload of the PPDU 120, and as illustrated includes the entire MPDU 140, including overhead bits, not just the MSDU 147.
To reduce the overhead associated with transmitting each MAC layer packet using a single PHY layer packet, some communication protocols allow multiple MAC layer packets to be aggregated into a single PHY layer packet for transmission. For example, multiple MPDUs can be aggregated and sent together using a single PPDU. This aggregation can be especially useful in situations where each data unit may have significant overhead (preambles, headers, cyclic redundancy check, etc.), or where the expected packet size is small compared to the maximum amount of information that can be transmitted using a single packet.
The technique of aggregating multiple frames, packets, or data units into a single transmission unit is often used with block acknowledgements (ACKs). For example, rather than sending separate PHY layer packets, each corresponding to a single MAC layer packet, a block of up to 64 MAC layer packets can be transmitted together in a single PHY packet using one physical layer header. Once the data block has been sent, a single block ACK is returned, rather than requiring individual ACK messages for each individual MAC layer packet.
In conventional systems, once the aggregation of MAC layer packets into a block has begun, aggregation continues until aggregation is completed, and released to the PHY layer for transmission. If a priority data packet is received while aggregation is in process, the priority data is released following release of the block of aggregated data. For example, if a conventional system is in the middle of aggregating video packets at the MAC layer, and a high priority audio packet is received, the audio packet is released to the PHY layer after the aggregated video packets are released.
In some cases, however, waiting for the aggregation to complete can cause unacceptable delays in delivering priority data, such as real-time audio packets. Additionally, if another audio packet is received before the first audio packet has been released to the PHY layer, both audio packets may be sent back-to-back, resulting in perceived low quality audio reproduction. Furthermore, in cases where video content is synchronized to audio content, if audio packets are delayed too long it may be more difficult to properly synchronize the video content. Thus, currently available systems and techniques leave room for improvement.